package com.quectel.core.module.carparking.dto;

import com.quectel.core.module.village.dto.VillageDto;
import com.quectel.core.module.village.dto.VillageRoomDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author bob
 * @email bob.yu@quectel.com
 * @date 2023/04/14 14:42
 */
@Data
@Schema
public class CarParkingSpaceDto implements Serializable {

    /**
     * id
     */
    @Schema(description = "id")
    private Long id;

    /**
     * 租户id
     */
    @Schema(description = "租户id")
    private Long tenantId;

    /**
     * 小区id
     */
    @Schema(description = "小区id")
    private Long villageId;

    /**
     * 所属停车场id
     */
    @Schema(description = "所属停车场id")
    private Long carParkingId;

    /**
     * 停车场类型
     */
    @Schema(description = "停车场类型")
    private Byte carParkingType;

    /**
     * 车位名称
     */
    @Schema(description = "车位名称")
    private String name;

    /**
     * 联系人电话
     */
    @Schema(description = "联系人电话")
    private String mobile;

    /**
     * 停车场车位类型 1.产权车位 2.人防车位 3.公共空间车位
     */
    @Schema(description = "停车场车位类型 1.产权车位 2.人防车位 3.公共空间车位")
    private Byte type;

    /**
     * 车位尺寸1.标准 2.微型 3.子母
     */
    @Schema(description = "车位尺寸1.标准 2.微型 3.子母")
    private Byte size;

    /**
     * 停车场车位状态 1.已出售 2.已租赁 3.空置
     */
    @Schema(description = "停车场车位状态 1.已出售 2.已租赁 3.空置")
    private Byte state;

    /**
     * 停车场车位编码
     */
    @Schema(description = "停车场车位编码")
    private String code;

    /**
     * 停车场车位产权编码
     */
    @Schema(description = "停车场车位产权编码")
    private String equityCode;

    /**
     * 车位用途 1.固定 2.临时
     */
    @Schema(description = "车位用途 1.固定 2.临时")
    private Byte usageType;

    /**
     * 购买人/承租人名
     */
    @Schema(description = "购买人/承租人名")
    private String householdName;

    /**
     * 购买人/承租人所属房屋id
     */
    @Schema(description = "购买人/承租人所属房屋id")
    private Long householdRoomId;

    /**
     * 绑定的车牌
     */
    @Schema(description = "绑定的车牌")
    private String licenses;

    /**
     * 车位购买时间
     */
    @Schema(description = "车位购买时间")
    private Date buyTime;

    /**
     *
     */
    @Schema(description = "")
    private String creator;

    /**
     *
     */
    @Schema(description = "")
    private Date createTime;

    /**
     *
     */
    @Schema(description = "")
    private String editor;

    /**
     *
     */
    @Schema(description = "")
    private Date editTime;

    /************非数据库字段 start ************/

    @Schema(description = "购买人/承租人所属房屋名称")
    private String householdRoomName;

    @Schema(description = "停车区域信息")
    private CarParkingDto carParking;

    @Schema(description = "房间信息")
    private VillageRoomDto room;

    @Schema(description = "小区信息")
    private VillageDto village;

    @Schema(description = "停车场名称")
    private String parkName;
    /************非数据库字段 end **************/
}
